package com.baitiaojun.bulletscreen.service;

import com.baitiaojun.api.domain.video.BulletScreen;
import com.baitiaojun.api.exception.ConditionException;
import com.rabbitmq.client.Channel;
import org.springframework.amqp.core.Message;

import java.io.IOException;

/**
 * @类名 MqBulletScreenService
 * @描述 TODO
 * @作者 白条君
 * @创建日期 2022/12/31 18:11
 * @版本 1.0
 */
public interface MqBulletScreenService {

    void bulletScreenSender(BulletScreen bulletScreen, String sessionId);

    void syncMysqlSender(BulletScreen bulletScreen) throws ConditionException;

    void bulletScreenReceiver(Message message, Channel channel) throws IOException;

    void deadBulletScreenReceiver(Message message, Channel channel);

    void bulletScreenReceiverWarning(Message message);

    void syncMysqlReceiver(Message message, Channel channel) throws IOException, ConditionException;

    void deadSyncMysqlReceiver(Message message, Channel channel) throws ConditionException;

    void syncMysqlReceiverWarning(Message message);
}
